home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / share / doc / libifp4 / README < prev    next >
Text File  |  2005-01-31  |  4KB  |  142 lines

  1. -------
  2. License
  3. -------
  4.  
  5. Copyright (C) Geoff Oakham, 2004; <oakhamg@users.sourceforge.net>
  6.  
  7. This driver is free software; you can redistribute it and/or modify it under
  8. the terms of the GNU General Public License as published by the Free Software
  9. Foundation; only version 2 of the License.
  10.  
  11. This program is distributed in the hope that it will be useful, but WITHOUT ANY
  12. WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  13. PARTICULAR PURPOSE.  See the GNU General Public License for more details.
  14.  
  15. You should have received a copy of the GNU General Public License in the file
  16. "COPYING"; if not, write to the Free Software Foundation, Inc., 59 Temple Place
  17. - Suite 330, Boston, MA  02111-1307, USA.
  18.  
  19. -------------
  20. License-notes
  21. -------------
  22.  
  23. If someone ports libifp to the FreeBSD kernel, I would serriously consider
  24. dual-licensing it.
  25.  
  26. -------
  27. Summary
  28. -------
  29.  
  30. libifp is a general-purpose library-driver for iRiver's iFP (flash-based)
  31. portable audio players.
  32.  
  33.     http://ifp-driver.sourceforge.net/libifp/
  34.  
  35. ------------
  36. Requirements
  37. ------------
  38.  
  39. This driver has been reported to work with models iFP1xx, 3xx, 5xx, 7xx, 8xx, 9xx and N10.
  40.  
  41. userspace library:
  42.  
  43.     -libusb
  44.     -gcc 2.95+ (and related dev tools)
  45.     -POSIX run-time environment
  46.  
  47. linux kernel module:
  48.  
  49.     -linux 2.6.x+
  50.     -gcc 2.95+ (and related dev tools)
  51.     -linux kernel sourcecode [enough to compile modules]
  52.     -a filesystem that supports symlinks (for compilation)
  53.  
  54. ------------------
  55. Build Instructions
  56. ------------------
  57.  
  58. userspace library:
  59.     1. tar -xzf libifp-0.1.2.3.tar.gz
  60.     2. cd libifp-0.1.2.3
  61.     3. ./configure --prefix=/tmp/foo
  62.     4a make
  63.     4b make test         (optional)
  64.     5. make install
  65.  
  66.     In your own project, add "-I/tmp/foo/include" to your compiler flags
  67.     and "-L/tmp/foo/lib -lifp -lusb" to your linker flags.  (Add another -L
  68.     argument if the linker need help finding libusb.)
  69.  
  70. linux kernel module:
  71.     1. tar -xzf libifp-0.1.2.3.tar.gz
  72.     2. cd libifp-0.1.2.3
  73.     3. ./configure --with-kmodule=path/to/kernel/source
  74.     4. make
  75.     5. make install
  76.  
  77. -----
  78. Usage
  79. -----
  80.  
  81. Read ifp.h(3) (packaged in docs/man), and the code in 'examples'.
  82.  
  83. notes:
  84.     * libifp is neither threadsafe nor thread-unsafe; it's up to the
  85.       caller to provide sychronization.
  86.  
  87.       (Note: the normal [userland] shared library version of libifp uses
  88.       libusb.  If thread safety is important to you, make sure libusb
  89.       itself is threadsafe.. because I haven't.)
  90.  
  91.     * libusb must be initialized by calling usb_init() before using
  92.       libifp.  (When using the userspace library.)
  93.  
  94. ---------------
  95. Troubleshooting
  96. ---------------
  97.  
  98.     - examine the debug messages from stderr or the kernel log.
  99.     - reset the device (or unplug it + turn it off) and try again.
  100.  
  101.     If you still can't get it working, please email me with your
  102.         -debug messages
  103.         -the filenames involved
  104.         -kernel or libusb version
  105.         -the libifp version
  106.         -iFP model number
  107.         -iFP firmware version
  108.         -your favourite colour
  109.     
  110.     If possible, please also send me the status string returned by ifp_device_info()
  111.     which looks something like this:
  112.  
  113.         model IFP-007T, firmware 1.14, battery =[####], delta 1.8.4.42
  114.  
  115.     (Note to application developers: it would be helpful if this string is available
  116.     from the "about box" or another easy-to-access location.)
  117.  
  118. -------
  119. Credits
  120. -------
  121.  
  122.     Special thanks to Boris and Jim who were the first brave souls to try
  123.     the first version--a kernel filesystem module.  Thanks to David who
  124.     took the time to debug iFP8xx support and to the folks on
  125.     #kernelnewbies who made helpful suggestions when I was stuck.  Everyone
  126.     has been encouraging and helpful with their feedback, and is much
  127.     appreciated.
  128.  
  129.     Lastly, thanks to Jordan who bought me the mp3 player.  You know how
  130.     kids often enjoy playing with the box more than the toy inside?  Well,
  131.     writing the driver has been a neat experience.. and the packaging came
  132.     with top-grade bubblewrap. :)
  133.  
  134. ------------
  135. Bibliography
  136. ------------
  137.  
  138.     -Pavel Kriz and Jun Yamashiro, ifp-driver/ifp-line source code
  139.     -ifp-driver mailing list, general discussion
  140.     -Bovet & Cesati, "Understanding the Linux Kernel"
  141.  
  142.